<?php

declare(strict_types=1);
/**
 * This file is part of Hyperf.
 *
 * @link     https://www.hyperf.io
 * @document https://hyperf.wiki
 * @contact  group@hyperf.io
 * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
 */
return [
    'default' => [
        'driver' => env('DB_DRIVER', 'mysql'),

        'sticky' => true,// 预防主从不同步配置 影响数据库性能 此配置各项目按需开启

        'read' => [
            'host'     => [env('DB_READ_HOST', 'localhost')],
            'username' => env('DB_READ_USERNAME', 'root'),
            'password' => env('DB_READ_PASSWORD', ''),
        ],

        'write' => [
            'host'     => [env('DB_WRITE_HOST', 'localhost')],
            'username' => env('DB_WRITE_USERNAME', 'root'),
            'password' => env('DB_WRITE_PASSWORD', ''),
        ],

        'database'  => env('DB_DATABASE', 'hyperf'),
        'port'      => env('DB_PORT', 3306),
        'charset'   => env('DB_CHARSET', 'utf8mb4'),
        'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
        'prefix'    => env('DB_PREFIX', ''),

        'pool'     => [
            'min_connections' => 1,
            'max_connections' => 10,
            'connect_timeout' => 10.0,
            'wait_timeout'    => 3.0,
            'heartbeat'       => -1,
            'max_idle_time'   => (float)env('DB_MAX_IDLE_TIME', 60),
        ],
        'cache'    => [
            'handler'         => Hyperf\ModelCache\Handler\RedisHandler::class,
            'cache_key'       => '{mc:%s:m:%s}:%s:%s',
            'prefix'          => 'default',
            'ttl'             => 3600 * 24,
            'empty_model_ttl' => 600,
            'load_script'     => true,
        ],
        'commands' => [
            'gen:model' => [
                'path'          => 'app/Model',
                'force_casts'   => true,
                'inheritance'   => 'Model',
                'uses'          => '',
                'table_mapping' => [],
            ],
        ],
    ],
];
